package it.polimi.politics.ejb.entities;

import it.polimi.politics.dto.CandidaturaDTO;



import java.io.Serializable;

import javax.persistence.*;

import java.util.List;


/**
 * The persistent class for the candidatura database table.
 * 
 */
@Entity
@NamedQuery(name="Candidatura.findAll", query="SELECT c FROM Candidatura c")
public class Candidatura implements Serializable {
	private static final long serialVersionUID = 1L;
	
	public static final String FIND_ALL = "Candidatura.findAll";

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int idcandidatura;

	@Lob
	private String cv;

	@Lob
	private String letteramotivazione;

	private int stato;

	//bi-directional many-to-one association to Partito
	
	@JoinColumn(name="IDPARTITO")
	private Partito partito;

	//bi-directional many-to-one association to Utenti
	
	@JoinColumn(name="IDUTENTE")
	private Utenti utenti;

	//bi-directional many-to-many association to Utenti
	@ManyToMany(mappedBy="candidaturas")
	private List<Utenti> utentis;

	public Candidatura() {
	}

	public Candidatura(CandidaturaDTO candidatura){
		idcandidatura 		= candidatura.getIdcandidatura();
		cv 			  		= candidatura.getCV();
		letteramotivazione 	= candidatura.getLettera();
		stato 				= candidatura.getStato();
	}
	
	public int getIdcandidatura() {
		return this.idcandidatura;
	}

	public void setIdcandidatura(int idcandidatura) {
		this.idcandidatura = idcandidatura;
	}

	public String getCv() {
		return this.cv;
	}

	public void setCv(String cv) {
		this.cv = cv;
	}

	public String getLetteramotivazione() {
		return this.letteramotivazione;
	}

	public void setLetteramotivazione(String letteramotivazione) {
		this.letteramotivazione = letteramotivazione;
	}

	public int getStato() {
		return this.stato;
	}

	public void setStato(int stato) {
		this.stato = stato;
	}


	public List<Utenti> getUtentis() {
		return this.utentis;
	}

	public void setUtentis(List<Utenti> utentis) {
		this.utentis = utentis;
	}

	public void setPartito(Partito partito) {
		this.partito = partito;
		
	}

	public Utenti getUtenti() {
		return utenti;
	}

	public void setUtenti(Utenti utenti) {
		this.utenti = utenti;
	}

}